const router = require("koa-router")();
const DB = require("../../module/db.js");

router.get("/", async (ctx) => {
  //  /admin/index
  await ctx.render("admin/index");
});
/* 
  改变数据状态API接口
  地址：admin/changeStatus
  params：数据库表名称  字段名称  _id
  请求类型：get
*/
router.get("/changeStatus", async (ctx) => {
  //  服务端返回接口
  let { collectionName, attr, id } = ctx.request.query;
  let result = await DB.find(collectionName, { _id: DB.getObjectId(id) });
  if (result.length > 0) {
    //找到了需要修改状态的管理员对象，然后判断状态并修改
    if (result[0][attr] == 1) {
      var json = {
        [attr]: 0,
      };
    } else {
      var json = {
        [attr]: 1,
      };
    }
    let data = await DB.update(collectionName, result[0], json);
    console.log(data.result);
    if (data.result) {
      ctx.body = { message: "更新成功", success: true };
    } else {
      ctx.body = { message: "更新失败", success: false };
    }
  } else {
    ctx.body = { message: "更新失败,参数错误", success: false };
  }
});
/* 
  删除数据API接口
  地址：admin/remove
  params：数据库表名称   _id
  请求类型：get
*/
router.get("/delate", async (ctx) => {
  let { collectionName, id } = ctx.request.query;
  let res = await DB.delate(collectionName, { _id: DB.getObjectId(id) });
  if (res.result.n) {
    ctx.body = { message: "删除成功", success: true };
    ctx.redirect(ctx.state.G.prevPage);
  } else {
    ctx.redirect(ctx.state.G.prevPage);
    ctx.body = { message: "删除失败", success: false };
  }
});
/*
  加载分页数据的API接口
  地址：admin/dateList
  params: 数据库表名称collectionName 页大小pageSize 页码pageNum 当前页page 总页数totlePages
  请求类型：get
*/
// router.get("/admin/dateList", async (ctx) => {
//   let {}
// });
module.exports = router.routes();
